Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(ci): Fix circleci by forcing correct timestamp tags #865

Merged
merged 1 commit into from
Aug 7, 2019
Merged

Conversation

dustmop
Copy link
Contributor

@dustmop dustmop commented Aug 7, 2019

No description provided.

@dustmop dustmop requested a review from b5 August 7, 2019 18:05
@dustmop
Copy link
Contributor Author

dustmop commented Aug 7, 2019

See golangci/golangci-lint#595.

Copy link
Member

@b5 b5 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

daaaaamnn look at those green checks. One request: can you copy-paste some of your notes from this nightmare into this PR? I'd love to have it for the record

@dustmop
Copy link
Contributor Author

dustmop commented Aug 7, 2019

Absolutely.

First off, we're building with go modules, and our Circle CI needs to use GOPROXY="https://proxy.golang.org" in order to work around an unrelated issue with badger (see dgraph-io/badger#886 and especially dgraph-io/badger#904). At some point in the future we should upgrade our dependencies, mostly ipfs, so that we are on a newer badger, but that will take some time to get right.

The failures we started seeing this week on CircleCI were related to the goproxy (proxy.golang.org) returning 410 for a number of modules. Most other issues concerning this error recommended turning off GOPROXY in order to fix it, but due to the problem above, we are unable to do so. As far as I can tell, both badger and the golangci projects breakages were due to modifying commits or tags for an already existing name, which invalidates certain assumptions that the go tool makes. This may be a recurring problem in the future, especially as gomodule adoption increases.

With @b5's help, we were able to rule out our docker image as being the problem, "circleci/golang:latest". Running our project's HEAD with an old docker image still hit the same failures. Figuring that the problem must be proxy related, I dug into the server responses to see that a timestamp mismatch was causing the problem. Luckily, circleci respects the replace commands in go.mod, so even though our codebase itself doesn't use any of the golangci projects, this commit fixes the paths for whatever circleci is retrieving.

@dustmop dustmop merged commit b6a7d28 into master Aug 7, 2019
@dustmop dustmop deleted the fix-ci branch August 7, 2019 18:36
@b5 b5 added chore Changes to the build process or auxiliary tools and libraries such as documentation generation fix A bug fix labels Aug 7, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore Changes to the build process or auxiliary tools and libraries such as documentation generation fix A bug fix
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants